//
//  FLDataProvider.h
//  SpringGraph Test
//
//  Created by Jack Herrington on 5/30/10.
//  Copyright 2010 Myself. All rights reserved.
//

#import <UIKit/UIKit.h>

#import "FLIterator.h"

@protocol FLDataProvider

@property (readonly) float repulsionFactor;
@property (readonly) float defaultRepulsionFactor;

- (CGPoint)getPosition:(NSInteger)nodeId;
- (float)getRepulsion:(NSInteger)nodeId;
- (void)setPosition:(NSInteger)nodeId position:(CGPoint)position;
- (float)getEdgeLength:(FLNode *)from to:(FLNode *)to;

- (void)forAllNodes:(id<NSObject, FLIterator>)iterator;
- (void)forAllEdges:(id<NSObject, FLIterator>)iterator;
- (void)forAllNodePairs:(id<NSObject, FLIterator>)iterator;

@end
